require "sqlite3"
class Dbconect
  def Dbconect.creationbd(titre)
    begin
      # Crée la base si elle n'existe pas déjà
      db = SQLite3::Database.new("#{titre}.db")
      db.execute("DROP TABLE IF EXISTS Places")
      db.execute("DROP TABLE IF EXISTS Vehicules")
      db.execute("DROP TABLE IF EXISTS Livraisons")
      db.execute("DROP TABLE IF EXISTS clients")
      db.execute("DROP TABLE IF EXISTS Parkings")
      creationPlaces = <<-FIN
      create table if not exists Places (id Integer Primary Key,
                                            immatriculation varchar(20) not null,
                                            niveau Integer,
                                            idticket varchar(20)  );
      
      FIN
      creationVehicules = <<-FIN
      create table if not exists Vehicules (immatriculation varchar(20) Primary Key,
                                                hauteur Integer,
                                                longueur Integer);
        FIN
        
      creationLivraisons = <<-FIN
            create table if not exists Livraisons (idlivraison Integer Primary Key,
                                                  immatriculation varchar(20),
                                                      date varchar(20),
                                                      adresse varchar(20));
              FIN
              
      creationClients = <<-FIN
                 create table if not exists Clients (idclient Integer Primary Key,
                                                       nom varchar(20),
                                                           prenom varchar(20),
                                                           Abonnee Boolean,
                                                           Garanti Boolean,
                                                           nbVenu Integer);
                   FIN
                   
      creationParking = <<-FIN
                       create table if not exists Parkings (titre varchar(20) Primary Key,
                                                           nbPlaces Integer,
                                                           nbNiveau Integer);
                         FIN
      # La clé id sera implitement autoincrémentée si on lui affecte NULL
      db.execute(creationPlaces)
      db.execute(creationVehicules)
      db.execute(creationLivraisons)
      db.execute(creationClients)
      db.execute(creationParking)
    ensure
      db.close if db
    end
  end
end